package com.hsyt.pms.org.dubbo;

import com.hsyt.pfc.support.rpc.PageResult;
import com.hsyt.pms.api.dto.org.OrgDto;
import com.hsyt.pms.api.dto.org.OrgTypeQueryDto;
import com.hsyt.pms.api.entity.org.Org;
import com.hsyt.pms.api.vo.org.GridData;
import com.hsyt.pms.api.vo.org.OrgTypeVo;
import com.hsyt.pms.api.vo.org.OrgVo;

import java.util.List;

/**
 * @ClassName: OrgService
 * @Description: 组织管理
 * @author wangze@hsyuntai.com
 * @date 2019年2月12日 下午2:45:51
 */
public interface OrgService {

    int updateByPrimaryKey(OrgDto orgDto);

    int insertOrg(OrgDto orgDto);

    String nextSysOrgCode(Long parentOrgId, Integer orgType);

    GridData pageFindOrgrid(OrgDto orgDto);

    PageResult<OrgTypeVo> searchPageDataByDto(OrgTypeQueryDto dto);

    //-------------------以下通过ElasticSearch检索查询--------------

    /**
     * ES搜索
     *
     * @param org
     * @return
     */
    PageResult<OrgVo> selectOrgEs(Org org);

    /**
     * ES创建
     *
     * @return
     */
    Integer createOrgEs();

    /**
     * ES更新
     *
     * @return
     */
    Integer updateOrgEs(Org org);

    /**
     * ES搜索删除
     *
     * @return
     */
    Integer deleteOrgEs(Org org);

}
